home *** CD-ROM | disk | FTP | other *** search
-
- SHMEM_GET(3) SHMEM_GET(3)
-
-
- NNNNAAAAMMMMEEEE
- sssshhhhmmmmeeeemmmm____cccchhhhaaaarrrraaaacccctttteeeerrrr____ggggeeeetttt, sssshhhhmmmmeeeemmmm____ccccoooommmmpppplllleeeexxxx____ggggeeeetttt, sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ggggeeeetttt,
- sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ggggeeeetttt, sssshhhhmmmmeeeemmmm____ggggeeeetttt4444, sssshhhhmmmmeeeemmmm____ggggeeeetttt8888, sssshhhhmmmmeeeemmmm____ggggeeeetttt33332222, sssshhhhmmmmeeeemmmm____ggggeeeetttt66664444,
- sssshhhhmmmmeeeemmmm____ggggeeeetttt111122228888, sssshhhhmmmmeeeemmmm____ggggeeeettttmmmmeeeemmmm, sssshhhhmmmmeeeemmmm____iiiinnnntttt____ggggeeeetttt, sssshhhhmmmmeeeemmmm____iiiinnnntttteeeeggggeeeerrrr____ggggeeeetttt,
- sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____ggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ggggeeeetttt,
- sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ggggeeeetttt, sssshhhhmmmmeeeemmmm____rrrreeeeaaaallll____ggggeeeetttt, sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ggggeeeetttt - Transfers data
- from a specified processing element (PE).
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- C or C++:
-
- ####iiiinnnncccclllluuuuddddeeee <<<<mmmmpppppppp////sssshhhhmmmmeeeemmmm....hhhh>>>>
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ggggeeeetttt((((ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
- _l_e_n,,,, iiiinnnntttt _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ggggeeeetttt((((ffffllllooooaaaatttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ffffllllooooaaaatttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
- _l_e_n,,,, iiiinnnntttt _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ggggeeeetttt33332222((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
- _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ggggeeeetttt66664444((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
- _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ggggeeeetttt111122228888((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
- _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ggggeeeettttmmmmeeeemmmm((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
- _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiinnnntttt____ggggeeeetttt((((iiiinnnntttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt iiiinnnntttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt
- _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ggggeeeetttt((((lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,,
- iiiinnnntttt _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ggggeeeetttt((((lllloooonnnngggg ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ddddoooouuuubbbblllleeee
- ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ggggeeeetttt((((lllloooonnnngggg lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg lllloooonnnngggg ****_s_o_u_r_c_e,,,,
- ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
-
- vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ggggeeeetttt((((sssshhhhoooorrrrtttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt sssshhhhoooorrrrtttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt
- _l_e_n,,,, iiiinnnntttt _p_e))));;;;
-
- Fortran:
-
- IIIINNNNTTTTEEEEGGGGEEEERRRR _l_e_n,,,, _p_e
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTT4444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTT8888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTT33332222((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTT66664444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTT111122228888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____GGGGEEEETTTTMMMMEEEEMMMM((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____GGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e))))
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The ggggeeeetttt routines provide a high-performance method for copying a
- contiguous data object from a different PE to a contiguous data object
- on a the local PE. The routines return after the data has been
- delivered to the _t_a_r_g_e_t array on the local PE. The _t_a_r_g_e_t data area
- is left in a cache-coherent state on all systems, so there is no need
- to use cache invalidation routines when only get routines are used for
- communication.
-
- The arguments are as follows:
-
- _t_a_r_g_e_t Local data object to be updated.
-
- _s_o_u_r_c_e Data object on the PE identified by _p_e that contains the
- data to be copied. This data object must be remotely
- accessible.
-
- _l_e_n Number of elements in the _t_a_r_g_e_t and _s_o_u_r_c_e arrays. _l_e_n
- must be of type integer. If you are using Fortran, it must
- be a constant, variable, or array element of default integer
- type.
-
- _p_e PE number of the remote PE. _p_e must be of type integer. If
- you are using Fortran, it must be a constant, variable, or
- array element of default integer type.
-
- The _t_a_r_g_e_t and _s_o_u_r_c_e data objects must conform to typing constraints,
- which are as follows:
-
- RRRRoooouuuuttttiiiinnnneeee DDDDaaaattttaaaa TTTTyyyyppppeeee ooooffff _t_a_r_g_e_t aaaannnndddd _s_o_u_r_c_e
-
- sssshhhhmmmmeeeemmmm____ggggeeeettttmmmmeeeemmmm Fortran: Any noncharacter type.
-
- C: Any data type. _l_e_n is scaled in
- bytes.
-
- sssshhhhmmmmeeeemmmm____ggggeeeetttt4444, sssshhhhmmmmeeeemmmm____ggggeeeetttt33332222 Any noncharacter type that has a storage
- size equal to 32 bits.
-
- sssshhhhmmmmeeeemmmm____ggggeeeetttt8888, sssshhhhmmmmeeeemmmm____ggggeeeetttt66664444 Any noncharacter type that has a storage
- size equal to 64 bits.
-
- sssshhhhmmmmeeeemmmm____ggggeeeetttt111122228888 Any noncharacter type that has a storage
- size equal to 128 bits.
-
- sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ggggeeeetttt Elements of type short.
-
- sssshhhhmmmmeeeemmmm____iiiinnnntttt____ggggeeeetttt Elements of type int.
-
- sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ggggeeeetttt Elements of type long.
-
- sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ggggeeeetttt Elements of type long long.
-
- sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ggggeeeetttt Elements of type float.
-
- sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ggggeeeetttt Elements of type double.
-
- sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ggggeeeetttt Elements of type long double.
-
- SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____GGGGEEEETTTT Elements of type character. _l_e_n is the
- number of characters to transfer. The
- actual character lengths of the _s_o_u_r_c_e
- and _t_a_r_g_e_t variables are ignored.
-
- SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____GGGGEEEETTTT Elements of type complex of default
- size.
-
- SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____GGGGEEEETTTT (Fortran) Elements of type double precision.
-
- SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____GGGGEEEETTTT Elements of type integer.
-
- SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____GGGGEEEETTTT Elements of type logical.
-
- SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____GGGGEEEETTTT Elements of type real.
-
- If you are using Fortran, data types must be of default size. For
- example, a real variable must be declared as RRRREEEEAAAALLLL, RRRREEEEAAAALLLL****4444, or
- RRRREEEEAAAALLLL((((KKKKIIIINNNNDDDD====4444)))).
-
- NNNNOOOOTTTTEEEESSSS
- See iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3) for a definition of the term _r_e_m_o_t_e_l_y _a_c_c_e_s_s_i_b_l_e.
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- Consider this simple example for Fortran.
-
- PROGRAM REDUCTION
- REAL VALUES, SUM
- COMMON /C/ VALUES
- REAL WORK
- CALL START_PES(0) ! ALLOW ANY NUMBER OF PES
- VALUES = MY_PE() ! INITIALIZE IT TO SOMETHING
- CALL SHMEM_BARRIER_ALL
- SUM = 0.0
- DO I = 0,NUM_PES()-1
- CALL SHMEM_REAL_GET(WORK, VALUES, 1, I)
- SUM = SUM + WORK
- ENDDO
- PRINT*,'PE ',MY_PE(),' COMPUTED SUM=',SUM
- CALL SHMEM_BARRIER_ALL
- END
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3), sssshhhhmmmmeeeemmmm____ppppuuuutttt(3), sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt(3), sssshhhhmmmmeeeemmmm____iiiixxxxggggeeeetttt(3),
- sssshhhhmmmmeeeemmmm____qqqquuuuiiiieeeetttt(3)
-
- _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l
-
-